// settings.js
// 导出网站基础配置，包括：网站标题、固定header、显示logo

// permission.js(权限)
// 主要负责路由导航守卫

// icon
// <svg-icon icon-class="dashboard"></svg-icon>

// node版本过高问题
// set NODE_OPTIONS=--openssl-legacy-provider

// vue-element-admin的登录思路：
// 1. 登录表单校验通过
// 2. 调用Vuex提供的登录的action
// 3. 登录的Action中会调用接口
// 4. 登录接口如果成功执行，会返回token
// 5. 利用Vuex的特性，将token共享的到Vuex中，这样Vuex就统一管理了token,别的地方想要使用，直接通过Vuex就可以
// 6. 登录接口会调用单独封装的请求模块(api)
// 7. 请求模块中又会使用用到axios封装的请求工具
// 8. 而请求工具又要考虑区分 开发环境和生产环境的问题
// 9. 请求时还要考虑前后分离项目产生的跨域问题，要使用代理解决跨域

// axios封装
// - 基础地址，超时时间
// - 请求拦截器-统一注入token
// - 响应拦截器-解构数据-处理异常

// 环境
// .env.development设置开发环境变量 NODE_ENV=development
// .env.production设置开发环境变量 NODE_ENV=production
// - 将.env.development中的值改为 /api 作为请求工具的基础地址
// - process.env.VUE_APP_BASE_API 的表示读取该变量
// npm run dev时该变量为 /api
// npm run build:prod时 该变量为 /prod-api

// 因为开发环境为了便利，我们将用户的账户信息和密码都默认写在了页面上，
// 但是真正的项目我们不可能将数据进行暴露出去，
// 所以在生产环境时应该将 用户的手机号和密码抹去

// 可选链操作符 ？ 当前的版本不支持？的编译
// npm i vue@2.7.0  vue-template-compiler@2.7.0

// 编辑功能使用$nextTick
// 因为弹出层之后紧接着要调用子组件方法，第一次弹出层时，里面的组件还未完成渲染，
// 所以要等到showDialog这个属性设置的数据完成渲染之后才进行调用

// el-popconfirm的确认事件是onConfirm，但是文档上写的是confirm事件

// 导出excel
// 导出员工接口返回的是二进制流
// axios配置responseType为blob接收二进制流文件为Blob格式

// 腾讯云存储桶
// 1314703227
// AKIDmX9dSUKxPfsxqWzGKGzWqFOIwLUO2Qcc
// 0vjMrDTdZHm363q7II9sPmsmU4Zu5KNE

// 权限设计
// 权限是通过角色这个中间人实现，首先员工拥有角色，
// 角色拥有权限，那么员工自动拥有了角色所对应的权限。
// 1 拆分动态和静态路由
//   src/router/index.js
// 2 根据用户权限添加动态路由
//   vuex中在获取用户信息时返回获取的数据
// 	src/permission.js 筛选路由并将动态路由添加到路由表
// 	src/router/index.js 删除静态路由的404
// 	针对每个路由模块的配置文件添加name属性，和权限的数据进行对应
// 3 根据权限显示左侧菜单
//   vuex中添加动态路由数组及相应的静态加动态路由的方法
// 	src/permission.js 筛选路由后调用vuex中的方法更新路由表
// 	src/store/getters.js 定义routes的快捷访问
// 	src/layout/components/Sidebar/index.vue 左侧菜单组件读取vuex路由信息，注释路由信息的计算属性
// 4 退出登录重置路由
//   src/store/modules/user.js 退出方法重置路由
// 5 按钮权限表示
//   src/main.js 封装自定义指令，作用在按钮上，判断当前按钮是否有权限点，动态禁用
  
// 打包分析
// npm run preview -- --report
// 将几个比较大的多在打包时排除，这样可以缩小整体打包的大小，
// 保证js的加载速度，排除的包采用cdn的方式用外链去引入，cdn本名为分发服务器，
// 意为更近的访问区间更快的访问速度将所需要的文件返回给客户端

// nginx
// npm run build:prod -->dist
// 解压nginx
// 将dist的内容复制到nginx下的html文件里，点击exe
// ./nginx -s stop  #停止命令
// ./nginx -s reload  #重启
// 修改nginx.conf 
// location /prod-api  {
//   proxy_pass https://heimahr-t.itheima.net;
// }
// ./nginx -s reload  #重启
